﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Slock.GameObjects;

namespace Slock.Components
{
    /// <summary>
    /// Helper class for placing actors inside of an octree
    /// </summary>
    public class DrawableActorProxy
    {
        private GameObjects.Actor actor;
        private GameObjects.ActorComponents.RenderComponent meshComponentFound;
        private GameObjects.ActorComponents.CollisionComponent collisionComponentFound;

        public DrawableActorProxy(GameObjects.Actor actor, GameObjects.ActorComponents.RenderComponent meshComponentFound, GameObjects.ActorComponents.CollisionComponent collisionComponentFound)
        {
            this.actor = actor;
            this.meshComponentFound = meshComponentFound;
            this.collisionComponentFound = collisionComponentFound;
        }
        /// <summary>
        /// ID
        /// </summary>
        public int ID
        { get { return this.actor.ID; } }

        /// <summary>
        /// 
        /// </summary>
        public GameObjects.ActorComponents.RenderComponent Mesh
        { get { return this.meshComponentFound; } }

        /// <summary>
        /// 
        /// </summary>
        public GameObjects.ActorComponents.CollisionComponent Collision
        { get { return this.collisionComponentFound; } }

        /// <summary>
        /// 
        /// </summary>
        public Microsoft.Xna.Framework.Vector3 Location
        { get { return this.actor.Position; } }

        public Actor Actor { get { return this.actor; } }
    }
}
